package algorithms.encryption.base64;

import java.util.Base64;

/**
 * Base64用于网络中传输的数据进行编码，
 * 严格意义上属于编码的格式，有64个字符的对应的编码，
 * Base64就是将内容按照该格式进行编码。可以对数据编码和解码，是可逆的，安全度较低。
 */
public class Base64Utils {
    /**
     * 加密
     *
     * @param context ： 需要加密的内容
     * @return
     */
    public static String encoder(String context) {
        Base64.Encoder encoder = Base64.getEncoder();
        return encoder.encodeToString(context.getBytes());
    }

    /**
     * 解密
     *
     * @param context 需要解密的内容
     * @return
     */
    public static String decoder(String context) {
        Base64.Decoder decoder = Base64.getDecoder();
        byte[] decode = decoder.decode(context.getBytes());
        return new String(decode);
    }

    public static void main(String[] args) {
        String helloWorld = encoder("hello world");
        System.out.println("Base64加密后："+helloWorld);
        String decoder = decoder(helloWorld);
        System.out.println("Base64解密后："+decoder);

    }
}
